package persistentie;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import domein.Huurovereenkomst;
import domein.Medewerker;

public class HuurovereenkomstMapper extends Mapper
{
/*Attributen*/
	private final static String TOEVOEGEN_HUUROVEREENKOMST = "INSERT INTO huurovereenkomsten (auto,klant,medewerker,boekDatum,beginDatum,eindDatum) VALUES (?,?,?,?,?,?)";
	private final static String LAATST_INVOERDE_HUUROVEREENKOMST = "SELECT huurovereenkomstId FROM huurovereenkomsten ORDER BY huurovereenkomstId DESC";

	public void voegHuurovereenkomstToe(Huurovereenkomst huurovereenkomst)
	{
		verbinding = PersistentieController.getInstance().getVerbinding();
		initQuery(TOEVOEGEN_HUUROVEREENKOMST);
		
		try {
			pStatement.setInt(1,huurovereenkomst.getDeAuto().getAutoId());
			pStatement.setInt(2,huurovereenkomst.getDeKlant().getKlantId());
			pStatement.setInt(3,huurovereenkomst.getDeMedewerker().getMedewerkerId());
			pStatement.setDate(4,huurovereenkomst.getOpmaakDatum().converteerNaarSql());
			pStatement.setDate(5,huurovereenkomst.getBeginDatum().converteerNaarSql());
			pStatement.setDate(6,huurovereenkomst.getEindDatum().converteerNaarSql());
			pStatement.executeUpdate();
			
		/*Ophalen laatste id >> nog niet optimaal*/			
			huurovereenkomst.setHuurovereenkomstId(this.haalLaatstIngevoegdId(LAATST_INVOERDE_HUUROVEREENKOMST));
		}
		catch (SQLException e)
		{
			e.printStackTrace();
		}
		finally
		{
			try
			{
				this.closePreparedStatement();
				this.closeConnection();
			}
			catch(Exception e)
			{
				e.printStackTrace();
			}
		}
	}

}
